package yu.zhou.njupt.importdataui.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author yu.zhou
 *
 */
public class RegexUtil {

    public static Pattern p1 = Pattern.compile("[0-9a-zA-Z_]+");
    public static Pattern p2 = Pattern.compile("-([0-9]+)");
    public static Pattern p3 = Pattern.compile("#([A-Za-z])");
    public static Pattern p4 = Pattern.compile("-(.+)");
    
    
    /** 截取传入字符串中第一个合法(符合oracle对表和列的命名规则)的名称 */
    public static String getValidName(String str){
        Matcher m = p1.matcher(str);
        String result = null;
        if (m.find()) {
            result =  m.group();
        }
     
        return result;
    }
    
    /** 截取传入字符串中的日期 */
    public static String getDateStr(String str){
        Matcher m = p2.matcher(str);
        String result = null;
        if (m.find()) {
            result =  m.group(1);
        }
     
        return result;
    }
    
    /** 截取传入字符串中第一个合法(符合oracle对表和列的命名规则)的名称 */
    public static String getColumnType(String str){
        Matcher m = p3.matcher(str);
        String result = null;
        if (m.find()) {
            result =  m.group(1);
        }
     
        return result;
    }
    
    /** 获取列类型 */
    public static String getDataTypeStr(String str){
        Matcher m = p4.matcher(str);
        String result = null;
        if (m.find()) {
            result =  m.group(1);
        }
     
        return result;
    }
    
}
